/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/


function timeout() {
  return new Promise((resolve, reject) => {
    var arr = Array.from(arguments);
    setTimeout(() => {
      var a = arr[0];
      if (arr.length === 3) {
        console.log(arr[2] + arr[1] + arr[0] )
      }
      resolve(arr);
    }, 10);
  })
}

timeout('hello').then(function(res) {
  return timeout('lagou', ...res)
}).then(function(res) {
  return timeout('I ♥ U', ...res)
});
